home *** CD-ROM | disk | FTP | other *** search
/ Aminet 52 / Aminet 52 (2002)(GTI - Schatztruhe)[!][Dec 2002].iso / Aminet / demo / intro / 3D-Boing.lha / 3d-boing / My_Begin.s < prev    next >
Text File  |  2002-08-16  |  4KB  |  210 lines

  1. *        output  dh1:dev/devpac/rts
  2.         incdir    dh1:dev/devpac/include
  3.  
  4. TRUE:        =    -1
  5. FALSE:        =    0
  6.  
  7. * exec.library
  8.  
  9.         include    lvo/exec_lib.i
  10.         include    exec/exec.i
  11.  
  12. CALLEXE        macro
  13.         move.l    4.w,a6
  14.         jsr    _LVO\1(a6)
  15.         endm
  16.  
  17. * dos.library
  18.  
  19.         include    lvo/dos_lib.i
  20.  
  21. MODE_OLDFILE:    =    1005
  22. MODE_NEWFILE:    =    1006
  23.  
  24. CALLDOS        macro
  25.         move.l    DosBase,a6
  26.         jsr    _LVO\1(a6)
  27.         endm
  28.  
  29. DOSNAME        macro
  30. DosName:    dc.b    'dos.library',0
  31.         endm
  32.  
  33. * intuition.library
  34.  
  35.         include    intuition/iobsolete.i
  36.         include    lvo/intuition_lib.i
  37.  
  38. CALLINT        macro
  39.         move.l    IntBase,a6
  40.         jsr    _LVO\1(a6)
  41.         endm
  42.  
  43. INTNAME        macro
  44. IntName:    dc.b    'intuition.library',0
  45.         endm
  46.  
  47. * asl.library
  48.  
  49.         include    lvo/asl_lib.i
  50.         include    libraries/asl.i
  51.  
  52. CALLASL        macro
  53.         move.l    AslBase,a6
  54.         jsr    _LVO\1(a6)
  55.         endm
  56.  
  57. ASLNAME        macro
  58. AslName:    dc.b    'asl.library',0
  59.         endm
  60.  
  61. * gadtools.library
  62.  
  63.         include    lvo/gadtools_lib.i
  64.         include    libraries/gadtools.i
  65.  
  66. CALLGT        macro
  67.         move.l    GTBase,a6
  68.         jsr    _LVO\1(a6)
  69.         endm
  70.  
  71. GTNAME        macro
  72. GTName:    dc.b    'gadtools.library',0
  73.         endm
  74.  
  75. * graphics.library
  76.  
  77.         include    lvo/graphics_lib.i
  78.  
  79. CALLGFX        macro
  80.         move.l    GfxBase,a6
  81.         jsr    _LVO\1(a6)
  82.         endm
  83.  
  84. GFXNAME        macro
  85. GfxName:    dc.b    'graphics.library',0
  86.         endm
  87.  
  88. * rtgmaster.library
  89.  
  90.         include    lvo/rtgmaster_lib.i
  91.  
  92. CALLRTG        macro
  93.         move.l    RtgMasterBase,a6
  94.         jsr    _LVO\1(a6)
  95.         endm
  96.  
  97. RTGNAME        macro
  98. RtgName:    dc.b    'rtgmaster.library',0
  99.         endm
  100.  
  101. * hardware
  102.  
  103. * Ïîðò äæîéñòèêà/ìûøè 1 (R)
  104. joy0dat:    =$DFF00A
  105. * Ïîðò äæîéñòèêà/ìûøè 2 (R)
  106. joy1dat:    =$DFF00C
  107. * Ñîñòîÿíèå êíîïîê äæîéñòèêà/ìûøè 1 (áèò 7) è 2 (áèò 6) (R)
  108. ciagameport:    =$bfe001
  109. * Ñûðîé êîä íàæàòîé êëàâèøè (R)
  110. ciasdr:        =$bfec01
  111. * Ðåãèñòð óïðàâëåíèÿ DMA (R)
  112. dmaconr:    =$DFF002
  113. * Ðåãèñòð óïðàâëåíèÿ DMA (W)
  114. dmacon:        =$DFF096
  115. * Ðåãèñòð ðåæèìîâ ðàáîòû àóäèî-êàíàëîâ (W)
  116. adkcon:        =$DFF09E
  117.  
  118. * Àóäèî-êàíàë 0
  119. * Ðåãèñòð íà÷àëà òàáëèöû äàííûõ, áèòû 16-18 (W)
  120. aud0ptr:    =$DFF0A0
  121. * Ðåãèñòð íà÷àëà òàáëèöû äàííûõ, áèòû 0-15 (W)
  122. aud0ptrl:    =$DFF0A2
  123. * Ðåãèñòð ðàçìåðà òàáëèöû äàííûõ (W)
  124. aud0len:    =$DFF0A4
  125. * Ðåãèñòð ïåðèîäà âûáîðêè äàííûõ (W)
  126. aud0per:    =$DFF0A6
  127. * Ðåãèñòð ãðîìêîñòè (W)
  128. aud0vol:    =$DFF0A8
  129. * Ðåãèñòð (áóôåð) äàííûõ (W)
  130. aud0dat:    =$DFF0AA
  131.  
  132. * Àóäèî-êàíàë 1
  133. * Ðåãèñòð íà÷àëà òàáëèöû äàííûõ, áèòû 16-18 (W)
  134. aud1ptr:    =$DFF0B0
  135. * Ðåãèñòð íà÷àëà òàáëèöû äàííûõ, áèòû 0-15 (W)
  136. aud1ptrl:    =$DFF0B2
  137. * Ðåãèñòð ðàçìåðà òàáëèöû äàííûõ (W)
  138. aud1len:    =$DFF0B4
  139. * Ðåãèñòð ïåðèîäà âûáîðêè äàííûõ (W)
  140. aud1per:    =$DFF0B6
  141. * Ðåãèñòð ãðîìêîñòè (W)
  142. aud1vol:    =$DFF0B8
  143. * Ðåãèñòð (áóôåð) äàííûõ (W)
  144. aud1dat:    =$DFF0BA
  145.  
  146. * Àóäèî-êàíàë 2
  147. * Ðåãèñòð íà÷àëà òàáëèöû äàííûõ, áèòû 16-18 (W)
  148. aud2ptr:    =$DFF0C0
  149. * Ðåãèñòð íà÷àëà òàáëèöû äàííûõ, áèòû 0-15 (W)
  150. aud2ptrl:    =$DFF0C2
  151. * Ðèãèñòð ðàçìåðà òàáëèöû äàííûõ (W)
  152. aud2len:    =$DFF0C4
  153. * Ðåãèñòð ïåðèîäà âûáîðêè äàííûõ (W)
  154. aud2per:    =$DFF0C6
  155. * Ðåãèñòð ãðîìêîñòè (W)
  156. aud2vol:    =$DFF0C8
  157. * Ðåãèñòð (áóôåð) äàííûõ (W)
  158. aud2dat:    =$DFF0CA
  159.  
  160. * Àóäèî-êàíàë 3
  161. * Ðåãèñòð íà÷àëà òàáëèöû äàííûõ, áèòû 16-18 (W)
  162. aud3ptr:    =$DFF0D0
  163. * Ðåãèñòð íà÷àëà òàáëèöû äàííûõ, áèòû 0-15 (W)
  164. aud3ptrl:    =$DFF0D2
  165. * Ðåãèñòð ðàçìåðà òàáëèöû äàííûõ (W)
  166. aud3len:    =$DFF0D4
  167. * Ðåãèñòð ïåðèîäà âûáîðêè äàííûõ (W)
  168. aud3per:    =$DFF0D6
  169. * Ðåãèñòð ãðîìêîñòè (W)
  170. aud3vol:    =$DFF0D8
  171. * Ðåãèñòð (áóôåð) äàííûõ (W)
  172. aud3dat:    =$DFF0DA
  173.  
  174. INIT:        MACRO
  175. pr_CLI:        =$ac
  176. pr_MsgPort:    =$5c
  177.         movem.l    d0/a0,-(sp)    ;ñîõðàíÿåì íà÷àëüíûå ïåðåìåííûå
  178.         clr.l    returnmsg
  179.         sub.l    a1,a1
  180.         CALLEXE    FindTask    ;èùåì íàñ
  181.         move.l    d0,a4
  182.         tst.l    pr_CLI(a4)
  183.         beq.s    fromworkbench
  184. ;èû áûëè âûçâàíû èç CLI
  185.         movem.l    (sp)+,d0/a0    ;âîññòaíàâëèâàåì ðåãèñòðû
  186.         bra.s    end_startup    ;è çàïóñêàåì ïðîãðàììó ïîëüçîâàòåëÿ
  187. ;èû áûëè âûçâàíû èç Worckbench
  188. fromworkbench:
  189.         lea    pr_MsgPort(a4),a0
  190.         CALLEXE    WaitPort    ;æäåì ñîîáùåíèå
  191.         lea    pr_MsgPort(a4),a0
  192.         CALLEXE    GetMsg        ;è ïîëó÷àåì åãî
  193.         move.l    d0,returnmsg    ;ñîõðàíèì åãî äëÿ äàëüíåéøåãî îòâåòà
  194.         movem.l    (sp)+,d0/a0    ;âîññòaíàâëèâàåì íà÷àëüíûå ïåðåìåííûå
  195. end_startup:
  196.         bsr.s    main        ;âûçûâàåì âàøó ïðîãðàììó
  197. ;âîçâðàò ñ êîäîì â d0
  198.         move.l    d0,-(sp)    ;ñîõðàíèì åãî
  199.         tst.l    returnmsg
  200.         beq.s    exittodos
  201.         CALLEXE    Forbid
  202.         move.l    returnmsg(pc),a1
  203.         CALLEXE    ReplyMsg
  204. exittodos:
  205.         move.l  (sp)+,d0    ;âîññòaíàâëèâàåì êîä âîçâðàòà
  206.         rts
  207. returnmsg:    dc.l 0
  208.         ENDM
  209. main:
  210.